package com.gkzf.ai.module.crm.controller.admin.creditReport.vo.admittancecondition;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

@Schema(description = "管理后台 - CRM 征信报告对应准入条件新增/修改 Request VO")
@Data
public class CreditReportAdmittanceConditionSaveReqVO {

    private Long id;

    @Schema(description = "身份证号", example = "21231231231")
    private String idNumber;

    @Schema(description = "征信报告详情id", example = "32728")
    private Long creditBasicId;

    @Schema(description = "户籍地址 0不限制")
    private String censusRegister;

    @Schema(description = "岗位1工薪族，2法人", example = "1")
    private String customerType;

    @Schema(description = "单位性质  1或0不限制")
    private String unitNature;

    @Schema(description = "行业")
    private String specialIndustry;

    @Schema(description = "年龄")
    private Integer age;

    @Schema(description = "性别 0：男  1：女")
    private Integer gender;

    @Schema(description = "可贷点")
    private String loanUses;

    @Schema(description = "负债情况json")
    private String creditReportLiabilityJson;

    @Schema(description = "逾期记录贷款和信用卡情况json")
    private String creditReportOverdueJson;

    @Schema(description = "查询记录情况json")
    private String creditReportQueryJson;

    @Schema(description = "司法限制月数")
    private Integer creditReportJudicialMonths;

    @Schema(description = "司法限制类型", example = "2")
    private String creditReportJudicialType;

    @Schema(description = "社保缴存地点")
    private Integer creditReportSocialPlace;

    @Schema(description = "社保缴存期限")
    private Integer creditReportSocialMonths;

    @Schema(description = "社保缴存基数")
    private Double creditReportSocialBase;

    @Schema(description = "公积金缴纳地点")
    private Integer creditReportFundPlace;

    @Schema(description = "公积金缴纳月数")
    private Integer creditReportFundMonths;

    @Schema(description = "公积金缴纳基数")
    private Double creditReportFundBase;

    @Schema(description = "0: 无此类情况 1大白户，2小白户", example = "2")
    private Integer creditReportWhiteType;

    @Schema(description = "0：五级分类正常   1 :五级分类不正常")
    private Integer creditReportFiveLevel;

    @Schema(description = "是否有社保缴纳记录 0：无  1：有")
    private Integer isSocialSecurity;

    @Schema(description = "是否缴纳公积金")
    private Integer isReserveFund;

    @Schema(description = "是否纳税0 无 1有")
    private Integer isPayTaxes;

    @Schema(description = "年收入(元)")
    private BigDecimal annualIncome;

    @Schema(description = "贷款目标(万元)")
    private BigDecimal loanObjective;

    @Schema(description = "贷款类型1，2", example = "2")
    private String loanType;

    @Schema(description = "还款方式")
    private String repaymentWay;

    @Schema(description = "学历")
    private Integer education;

    @Schema(description = "是否有房产 0 无  1有")
    private Integer isHouseProperty;

    @Schema(description = "是否全款0 不是 1是")
    private Integer isFullPayment;

    @Schema(description = "房产所在地")
    private String fullPaymentLocation;

    @Schema(description = "房产类型 0 住宅 1：商铺写字楼", example = "2")
    private Integer fullPaymentType;

    @Schema(description = "房产估值")
    private BigDecimal fullPaymentValue;

    @Schema(description = "产品面积")
    private String fullPaymentArea;

    @Schema(description = "是否按揭房0无 1有")
    private Integer isMortgage;

    @Schema(description = "按揭房产所在地")
    private String mortgageLocation;

    @Schema(description = "是否抵押房0无 1是")
    private Integer isHypothecate;

    @Schema(description = "按揭房产类型0 住宅 1：商铺写字楼", example = "1")
    private Integer mortgageType;

    @Schema(description = "按揭房产估值")
    private BigDecimal mortgageValue;

    @Schema(description = "抵押房产所在地")
    private String hypothecateLocation;

    @Schema(description = "按揭余额")
    private String mortgageBalance;

    @Schema(description = "抵押房产类型0 住宅 1：商铺写字楼", example = "1")
    private Integer hypothecateType;

    @Schema(description = "抵押产估值")
    private BigDecimal hypothecateValue;

    @Schema(description = "是否有车 0 无  1有")
    private Integer isVehicle;

    @Schema(description = "是否全款车 0 不是 1是")
    private Integer isFullPaymentVehicle;

    @Schema(description = "车辆估值")
    private BigDecimal fullPaymentVehicleValue;

    @Schema(description = "是否按揭车")
    private Integer isMortgageVehicle;

    @Schema(description = "按揭车估值")
    private BigDecimal mortgageVehicleValue;

    @Schema(description = "是否有官司 仲裁 行政处罚等违法行为 0 无 1有")
    private Integer isIllegalRecord;

    @Schema(description = "是否存在担保人代还、以资抵债、强制执行被纳入失信被执行人名单等情形 0：无  1：有")
    private Integer isDiscreditedPerson;

    @Schema(description = "收入负债比")
    private String incomeDebtRatio;

    /**
     * 按揭房贷款银行
     */
    @Schema(description = "按揭房贷款银行")
    private Integer mortgageBendingBank;
    /**
     * 按揭月供
     */
    @Schema(description = "按揭月供")
    private String mortgageMonthlyPayment;
    /**
     * 按揭已还月数
     */
    @Schema(description = "按揭已还月数")
    private String mortgageReturnedMonthsNumber;

    /**
     * 社保双边缴存基数
     */
    @Schema(description = "社保双边缴存基数")
    private Double creditReportBilateralFundBase;
    /**
     * 社保双边缴存比例
     */
    @Schema(description = "社保双边缴存比例")
    private Double creditReportBilateralRatio;

    @Schema(description = "其他")
    private String other;

    private String creator;

    @Schema(description = "租户ID")
    private Long tenantId;

    @Schema(description = "用户ID")
    private Long userId;
}